package com.beidouapp.service;

import java.util.List;
import java.util.Map;

import com.beidouapp.domain.pojo.Employee;
import com.beidouapp.domain.pojo.User;
import com.beidouapp.domain.vo.OrgRoleEmployeeVO;

public interface EmployeeService {

    public Employee getEmployeeByUserId(Long userId);

    /**
     * 查询指定角色下所有的员工.
     * @param roleId
     * @return
     */
    public List<Employee> findEmployeeListByRoleId(Long roleId);

    /**
     * 查询员工列表
     *
     * @param params
     * @return
     */
    public List<OrgRoleEmployeeVO> findOrgRoleEmployeesByMap(Map<String, Object> params, Integer offset, Integer limit);

    public Integer findOrgRoleEmployeesCountByMap(Map<String, Object> params);

    public OrgRoleEmployeeVO getEmployeeVOById(Long empId);


//----------------------------------


    /**
     * 添加员工信息
     *
     * @param user
     * @param employee
     * @param orgId
     * @param roleId
     */
    public void addEmployee(User user, Employee employee, Long orgId, Long roleId);

    /**
     * 修改员工信息
     *
     * @param user
     * @param employee
     * @param orgId
     * @param roleId
     */
    public void modifyEmployee(User user, Employee employee, Long orgId, Long roleId);

    /**
     * 删除员工信息
     *
     * @param employeeIdList
     */
    public void removeEmployeeBatch(List<Long> employeeIdList);

    public Employee getEmployeeById(Long id);
}
